package dada_rent_car;

import java.sql.SQLOutput;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;

/**
 * @author duyong
 * @version 1.0
 * @date 2019/10/21 19:31
 */
public class DadaRentCar {
    public static void main(String[] args) {
        //用户选择完车 总载客人
        int passengerNum=0;
        //用户选择完车，总载重量
        int cargoNum=0;
        //用户选择完车 可载人的车(HashSet不能储存重复的值)
        HashSet<String> passengerCars = new HashSet<String>();
        //用户选择完车 可载重的车
        HashSet<String> cargoCars = new HashSet<String>();
        //租车总价格
         int totalPrice=0;
        Scanner sc=new Scanner(System.in);
        System.out.println("欢迎来到答答租车系统");
        System.out.println("你是否要租车：1 是 0 不是");
        int num=sc.nextInt();
        if(num==1){
            System.out.println("你可租车的类型及价目表");
            System.out.println("ID  汽车品牌    价格    容量");
            Car[] cars= {new Passenger_Car(1, "奥 迪", 500, 4),
                    new Passenger_Car(2, "马自达", 400, 6),
                    new Pickup_Car(3, "皮 卡", 450, 4, 4),
                    new Passenger_Car(4, "金 龙", 800, 15),
                    new Cargo_Car(5, "松花江", 400, 10),
                    new Cargo_Car(6, "依维柯", 1000, 20)
            };
             for(int i=0;i<6;i++){
                 //调用数组下标i的方法
                 cars[i].printf();
             }
            System.out.println("请你输入要租汽车的数量");
             int carNum=sc.nextInt();
           ArrayList serialNum = new ArrayList();
            for(int i=0;i<carNum;i++){
                 System.out.println("请输入第"+(i+1)+"辆车的序号");
                  serialNum.add(sc.nextInt());
             }
            //创建个迭代数组
            Iterator iterator = serialNum.iterator();
            System.out.println("请输入租车天数");
             int timeNume=sc.nextInt();
             while(iterator.hasNext()) {

                 int i=(int)iterator.next()-1;
                 //求总价格
                 totalPrice+=cars[i].getPrice()*timeNume;
                 //求载客量
               if(cars[i].getPassenger_capacity()!=0){
                //可载人的车  用字符串进行连接
                 passengerCars.add(cars[i].getName());
                 //总载客人
                  passengerNum+=cars[i].getPassenger_capacity();
                  if(cars[i].getCargo_capacity()!=0){
                      cargoCars.add(cars[i].getName());
                      cargoNum+=cars[i].getCargo_capacity();
                  }
               }else{
                 //可载重的车
                  cargoCars.add(cars[i].getName());
                   //总载重量
                   cargoNum+=cars[i].getCargo_capacity();
               }
            }
            System.out.println("你的账单："+"\n"+"***可载人的车有："+passengerCars+" 共载人："+passengerNum
                    +"\n"+"***可载货的车有："+cargoCars+""+"共载货："+cargoNum);
            System.out.println("***租车的总价格："+totalPrice);
        }else{
            System.out.println("欢迎下次来到答答租车系统");
        }
    }
}
